# Contributor: tcely <tcely@users.noreply.github.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=botan
pkgver=2.19.1
pkgrel=2
pkgdesc="Crypto and TLS for C++11"
url="https://botan.randombit.net/"
arch="all"
license="BSD-2-Clause"
depends_dev="boost-dev bzip2-dev openssl1.1-compat-dev sqlite-dev xz-dev zlib-dev"
makedepends="$depends_dev python3"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="https://botan.randombit.net/releases/Botan-$pkgver.tar.xz"
builddir="$srcdir/Botan-$pkgver"

# secfixes:
#   2.18.1-r3:
#     - CVE-2021-40529
#   2.17.3-r0:
#     - CVE-2021-24115
#   2.9.0-r0:
#     - CVE-2018-20187
#   2.7.0-r0:
#     - CVE-2018-12435
#   2.6.0-r0:
#     - CVE-2018-9860
#   2.5.0-r0:
#     - CVE-2018-9127

case $CARCH in
	ppc64le|aarch64|armhf|armv7) options="$options !check" ;; # 3 tests timeout
esac

build() {
	# botan benefits from -O3. Upstream is using it when testing.
	CXXFLAGS="$CXXFLAGS -O3" \
	python3 ./configure.py \
		--prefix=/usr \
		--mandir=/usr/share/man \
		--with-boost \
		--with-bzip2 \
		--with-lzma \
		--with-openmp \
		--with-openssl \
		--with-sqlite3 \
		--with-zlib \
		--with-os-feature=getrandom \
		--disable-static

	make
}

check() {
	LD_LIBRARY_PATH="$builddir" ./botan-test
}

package() {
	make DESTDIR="$pkgdir" install
	rm -rf "$pkgdir"/usr/lib/python*
}

sha512sums="
e604be0e7e82da89e3e1949d3035a87dc63314bd9854d5fe5129ccb3ed5bc78edb0406c7f8ad1a152b59a63b6d98ba207a0851a08428c3452cce794614b5eef5  Botan-2.19.1.tar.xz
"
